package com.stefanini.pe.bbva.bp.in.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.faces.bean.SessionScoped;

import org.primefaces.model.StreamedContent;
import org.springframework.stereotype.Controller;

import com.stefanini.pe.bbva.bp.in.to.DetalleRebalanceoTO;
import com.stefanini.pe.bbva.bp.in.to.Rebalanceo;
import com.stefanini.pe.bbva.bp.in.to.TablaGenerica;

@Controller
@SessionScoped
public class RebalanceoModel {
	private Rebalanceo rebalanceoSeleccionado;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoBonos;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoOperaciones;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoAcciones;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoDepositosEstructurados;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoOpcion;
	private List<Map<String,String>>  listaDetalleRebalanceoTotal;
	
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoBonosRPT;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoOperacionesRPT;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoAccionesRPT;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoDepositosEstructuradosRPT;
	private List<DetalleRebalanceoTO> listaDetalleRebalanceoOpcionRPT;
	private List<Map<String,String>>  listaDetalleRebalanceoTotalRPT;
	private List<Rebalanceo> listaConsultaHistorico;
	
	private String anioSeleccionado;
	private List<TablaGenerica> listaRebalanceoAnual;
	private StreamedContent xyDSRebalanciamiento;
	private StreamedContent chartResultadoRebalanceos;
	private StreamedContent chartResultadoPorPeriodo;
	private List<Rebalanceo> listaResultadoRebalanceo;
	private List<Rebalanceo> listaResultadoPorPeriodo;
	
	private HashMap param;
	
	public RebalanceoModel() {
		listaDetalleRebalanceoBonos= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoOperaciones= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoAcciones= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoDepositosEstructurados= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoOpcion= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoTotal= new ArrayList<Map<String,String>>();
		
		listaDetalleRebalanceoBonosRPT= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoOperacionesRPT= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoAccionesRPT= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoDepositosEstructuradosRPT= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoOpcionRPT= new ArrayList<DetalleRebalanceoTO>();
		listaDetalleRebalanceoTotalRPT= new ArrayList<Map<String,String>>();
		listaConsultaHistorico= new ArrayList<Rebalanceo>();
		param=new HashMap();
		listaRebalanceoAnual = new ArrayList<TablaGenerica>();
		listaResultadoRebalanceo = new ArrayList<Rebalanceo>();
		listaResultadoPorPeriodo = new ArrayList<Rebalanceo>();
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoBonos() {
		return listaDetalleRebalanceoBonos;
	}
	
	public void setListaDetalleRebalanceoBonos(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoBonos) {
		this.listaDetalleRebalanceoBonos = listaDetalleRebalanceoBonos;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoOperaciones() {
		return listaDetalleRebalanceoOperaciones;
	}
	
	public void setListaDetalleRebalanceoOperaciones(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoOperaciones) {
		this.listaDetalleRebalanceoOperaciones = listaDetalleRebalanceoOperaciones;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoAcciones() {
		return listaDetalleRebalanceoAcciones;
	}
	
	public void setListaDetalleRebalanceoAcciones(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoAcciones) {
		this.listaDetalleRebalanceoAcciones = listaDetalleRebalanceoAcciones;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoDepositosEstructurados() {
		return listaDetalleRebalanceoDepositosEstructurados;
	}
	
	public void setListaDetalleRebalanceoDepositosEstructurados(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoDepositosEstructurados) {
		this.listaDetalleRebalanceoDepositosEstructurados = listaDetalleRebalanceoDepositosEstructurados;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoOpcion() {
		return listaDetalleRebalanceoOpcion;
	}
	
	public void setListaDetalleRebalanceoOpcion(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoOpcion) {
		this.listaDetalleRebalanceoOpcion = listaDetalleRebalanceoOpcion;
	}
	
	public Rebalanceo getRebalanceoSeleccionado() {
		return rebalanceoSeleccionado;
	}
	
	public void setRebalanceoSeleccionado(Rebalanceo rebalanceoSeleccionado) {
		this.rebalanceoSeleccionado = rebalanceoSeleccionado;
	}
	
	public HashMap getParam() {
		return param;
	}
	
	public void setParam(HashMap param) {
		this.param = param;
	}
	
	public List<Map<String, String>> getListaDetalleRebalanceoTotal() {
		return listaDetalleRebalanceoTotal;
	}
	
	public void setListaDetalleRebalanceoTotal(
			List<Map<String, String>> listaDetalleRebalanceoTotal) {
		this.listaDetalleRebalanceoTotal = listaDetalleRebalanceoTotal;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoBonosRPT() {
		return listaDetalleRebalanceoBonosRPT;
	}
	
	public void setListaDetalleRebalanceoBonosRPT(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoBonosRPT) {
		this.listaDetalleRebalanceoBonosRPT = listaDetalleRebalanceoBonosRPT;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoOperacionesRPT() {
		return listaDetalleRebalanceoOperacionesRPT;
	}
	
	public void setListaDetalleRebalanceoOperacionesRPT(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoOperacionesRPT) {
		this.listaDetalleRebalanceoOperacionesRPT = listaDetalleRebalanceoOperacionesRPT;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoAccionesRPT() {
		return listaDetalleRebalanceoAccionesRPT;
	}
	
	public void setListaDetalleRebalanceoAccionesRPT(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoAccionesRPT) {
		this.listaDetalleRebalanceoAccionesRPT = listaDetalleRebalanceoAccionesRPT;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoDepositosEstructuradosRPT() {
		return listaDetalleRebalanceoDepositosEstructuradosRPT;
	}
	
	public void setListaDetalleRebalanceoDepositosEstructuradosRPT(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoDepositosEstructuradosRPT) {
		this.listaDetalleRebalanceoDepositosEstructuradosRPT = listaDetalleRebalanceoDepositosEstructuradosRPT;
	}
	
	public List<DetalleRebalanceoTO> getListaDetalleRebalanceoOpcionRPT() {
		return listaDetalleRebalanceoOpcionRPT;
	}
	
	public void setListaDetalleRebalanceoOpcionRPT(
			List<DetalleRebalanceoTO> listaDetalleRebalanceoOpcionRPT) {
		this.listaDetalleRebalanceoOpcionRPT = listaDetalleRebalanceoOpcionRPT;
	}
	
	public List<Map<String, String>> getListaDetalleRebalanceoTotalRPT() {
		return listaDetalleRebalanceoTotalRPT;
	}
	
	public void setListaDetalleRebalanceoTotalRPT(
			List<Map<String, String>> listaDetalleRebalanceoTotalRPT) {
		this.listaDetalleRebalanceoTotalRPT = listaDetalleRebalanceoTotalRPT;
	}
	
	public List<Rebalanceo> getListaConsultaHistorico() {
		return listaConsultaHistorico;
	}
	
	public void setListaConsultaHistorico(List<Rebalanceo> listaConsultaHistorico) {
		this.listaConsultaHistorico = listaConsultaHistorico;
	}
	
	public String getAnioSeleccionado() {
		return anioSeleccionado;
	}
	
	public List<TablaGenerica> getListaRebalanceoAnual() {
		return listaRebalanceoAnual;
	}
	
	public void setAnioSeleccionado(String anioSeleccionado) {
		this.anioSeleccionado = anioSeleccionado;
	}
	
	public void setListaRebalanceoAnual(List<TablaGenerica> listaRebalanceoAnual) {
		this.listaRebalanceoAnual = listaRebalanceoAnual;
	}
	
	public StreamedContent getXyDSRebalanciamiento() {
		return xyDSRebalanciamiento;
	}
	
	public void setXyDSRebalanciamiento(StreamedContent xyDSRebalanciamiento) {
		this.xyDSRebalanciamiento = xyDSRebalanciamiento;
	}
	
	public StreamedContent getChartResultadoRebalanceos() {
		return chartResultadoRebalanceos;
	}
	
	public void setChartResultadoRebalanceos(
			StreamedContent chartResultadoRebalanceos) {
		this.chartResultadoRebalanceos = chartResultadoRebalanceos;
	}
	
	public List<Rebalanceo> getListaResultadoRebalanceo() {
		return listaResultadoRebalanceo;
	}
	
	public void setListaResultadoRebalanceo(
			List<Rebalanceo> listaResultadoRebalanceo) {
		this.listaResultadoRebalanceo = listaResultadoRebalanceo;
	}
	
	public void setChartResultadoPorPeriodo(
			StreamedContent chartResultadoPorPeriodo) {
		this.chartResultadoPorPeriodo = chartResultadoPorPeriodo;
	}
	
	public void setListaResultadoPorPeriodo(
			List<Rebalanceo> listaResultadoPorPeriodo) {
		this.listaResultadoPorPeriodo = listaResultadoPorPeriodo;
	}
	
	public StreamedContent getChartResultadoPorPeriodo() {
		return chartResultadoPorPeriodo;
	}
	public List<Rebalanceo> getListaResultadoPorPeriodo() {
		return listaResultadoPorPeriodo;
	}
}
